perm filename MET5.LSP[TIM,LSP] blob
sn#717381 filedate 1983-06-18 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 (declare (fasload meter)
C00005 ENDMK
Cā;
(declare (fasload meter)
(load "metint.lsp")
(setq meter:count-only ()))
(declare
(setq local-objects-of-interest ()))
(DECLARE (MAPEX T))
(meter:meter deriv
(meter-funs #.(all-objs)
(DEFUN DER1 (A)
(mn "DER1" der1)
(mn "Conses" cons 3)
(LIST 'QUOTIENT (DERIV A) A)))
(meter-funs #.(all-objs)
(DEFUN DERIV (A)
(mn "DERIV" deriv)
(COND
((ATOM A)
(COND ((EQ A 'X) 1) (T 0)))
((EQ (CAR A) 'PLUS)
(mn "Conses" cons (length a))
(CONS 'PLUS (MAPCAR 'DERIV (CDR A))))
((EQ (CAR A) 'DIFFERENCE)
(mn "Conses" cons (length a))
(CONS 'DIFFERENCE (MAPCAR 'DERIV
(CDR A))))
((EQ (CAR A) 'TIMES)
(mn "Conses" cons (+ 3 (length a)))
(LIST 'TIMES
A
(CONS 'PLUS (MAPCAR 'DER1 (CDR A)))))
((EQ (CAR A) 'QUOTIENT)
(mn "Conses" cons 13.)
(LIST 'DIFFERENCE
(LIST 'QUOTIENT
(DERIV (CADR A))
(CADDR A))
(LIST 'QUOTIENT
(CADR A)
(LIST 'TIMES
(CADDR A)
(CADDR A)
(DERIV (CADDR A))))))
(T 'ERROR))))
(meter-funs #.(all-objs)
(DEFUN RUN ()
(DECLARE (FIXNUM I))
(DO ((I 0 (1+ I)))
((= I 1000.))
(DERIV '(PLUS (TIMES 3 X X) (TIMES A X X) (TIMES B X) 5))
(DERIV '(PLUS (TIMES 3 X X) (TIMES A X X) (TIMES B X) 5))
(DERIV '(PLUS (TIMES 3 X X) (TIMES A X X) (TIMES B X) 5))
(DERIV '(PLUS (TIMES 3 X X) (TIMES A X X) (TIMES B X) 5))
(DERIV '(PLUS (TIMES 3 X X) (TIMES A X X) (TIMES B X) 5))))))